#ifndef SENSOR_H
#define SENSOR_H

class Sensor
{
public:
	virtual ~Sensor();

	enum SensorType
	{
		COLLISION,
		COLORLANE,
		CROSSROADS,
		DISTANCE,
		EMERGENCYSTOP
	};

	void activate();
	void disable();

	virtual bool poll() = 0;
	virtual SensorType getSensorType() = 0;

protected:
	Sensor() : activated(0)  //Only objects of subclasses may be instantiated
	{

	}
private:
	bool activated;
};
#endif
